/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ihc.terminalbanco.gui.panels;

import ihc.terminalbanco.gui.buttons.LabelButton;
import ihc.terminalbanco.gui.events.Events;
import ihc.terminalbanco.gui.events.KeyActions;
import java.awt.Font;
import java.awt.GridLayout;
import java.util.ArrayList;
import javax.swing.JPanel;

/**
 *
 * @author Rafael
 */

public class ConstructMenusPanels implements RotulosInterface{

    public static Font fonte = new Font("Times New Roman", Font.PLAIN ,20);
    public static Events actionListener;
    public static KeyActions keyListener;


    public static JPanel constructMainMenu() {
        int rows = 4, cols = 2;
        GridLayout gridLayoutTerminal = new GridLayout(rows, cols, 20, 60);
        TerminalPane terminalPane = new TerminalPane("inicial", "Principal", 
                actionListener, keyListener, gridLayoutTerminal,
                ConstructMenusPanels.fonte);

        ArrayList<LabelButton> labelButtonList = new ArrayList<LabelButton>();

        labelButtonList.add(new LabelButton(saldoString, 1, 1));
        labelButtonList.add(new LabelButton(extratoString, 2, 1));
        labelButtonList.add(new LabelButton("", 3, 1,false));
        labelButtonList.add(new LabelButton(saqueString, 4, 1));
        labelButtonList.add(new LabelButton(servicosString, 1, 2));
        labelButtonList.add(new LabelButton(emprestimosString, 2, 2));
        labelButtonList.add(new LabelButton(pagamentosString, 3, 2));
        labelButtonList.add(new LabelButton(agendaString, 4, 2));

        terminalPane.addLabelButtonList(labelButtonList);
        terminalPane.setVisible(true);
        return terminalPane;
    }

    public static JPanel constructExtratoMenu() {
        int rows = 4, cols = 2;
        GridLayout gridLayoutTerminal = new GridLayout(rows, cols, 20, 60);
        TerminalPane panel = new TerminalPane("extrato-menu", extratoString,
                actionListener, keyListener, gridLayoutTerminal,
                ConstructMenusPanels.fonte);

        ArrayList<LabelButton> labelButtonList = new ArrayList<LabelButton>();

        labelButtonList.add(new LabelButton(complExtratoString, 1, 1));
        labelButtonList.add(new LabelButton(semanalExtratoString, 2, 1));
        labelButtonList.add(new LabelButton(quinzenalExtrato, 3, 1));
        labelButtonList.add(new LabelButton(mensalExtratoString, 4, 1));
        labelButtonList.add(new LabelButton(totalExtratoString, 1, 2));
        labelButtonList.add(new LabelButton("", 2, 2,false));
        labelButtonList.add(new LabelButton(emprestimoExtratoString, 3, 2));
        labelButtonList.add(new LabelButton(saldoMesExtratoString, 4, 2));

        panel.addLabelButtonList(labelButtonList);
        panel.setVisible(true);
        return panel;
    }

    public static JPanel constructServicosMenu() {
        int rows = 4, cols = 2;
        GridLayout gridLayoutTerminal = new GridLayout(rows, cols, 20, 60);
        TerminalPane panel = new TerminalPane("servicos-menu", servicosString,
                actionListener, keyListener, gridLayoutTerminal,
                ConstructMenusPanels.fonte);

        ArrayList<LabelButton> labelButtonList = new ArrayList<LabelButton>();

        labelButtonList.add(new LabelButton(outrosServicosString, 1, 1));
        labelButtonList.add(new LabelButton("", 2, 1,false));
        labelButtonList.add(new LabelButton(transferenciaString, 3, 1));
        labelButtonList.add(new LabelButton(ipvaString, 4, 1));
        labelButtonList.add(new LabelButton(senhasString, 1, 2));
        labelButtonList.add(new LabelButton(agendaString, 2, 2));
        labelButtonList.add(new LabelButton(recargaString, 3, 2));
        labelButtonList.add(new LabelButton("", 4, 2,false));

        panel.addLabelButtonList(labelButtonList);
        panel.setVisible(true);
        return panel;
    }

    public static JPanel constructDemonstrativoMenu() {
        int rows = 4, cols = 2;
        GridLayout gridLayoutTerminal = new GridLayout(rows, cols, 20, 60);
        TerminalPane panel = new TerminalPane("demonstrativos-menu",demonstrativosString,
                actionListener, keyListener, gridLayoutTerminal,
                ConstructMenusPanels.fonte);

        ArrayList<LabelButton> labelButtonList = new ArrayList<LabelButton>();

        labelButtonList.add(new LabelButton(contraChequeString, 1, 1));
        labelButtonList.add(new LabelButton(outrosDemonstrString, 2, 1));
        labelButtonList.add(new LabelButton(tarifasString, 3, 1));
        labelButtonList.add(new LabelButton(complTeleservString, 4, 1));
        labelButtonList.add(new LabelButton(reciboLicString, 1, 2));
        labelButtonList.add(new LabelButton(depositoPrazoString, 2, 2));
        labelButtonList.add(new LabelButton(fundoInvestimentos, 3, 2));
        labelButtonList.add(new LabelButton("", 4, 2,false));

        panel.addLabelButtonList(labelButtonList);
        panel.setVisible(true);
        return panel;
    }

    public static JPanel constructEmprestimoMenu() {
        int rows = 4, cols = 2;
        GridLayout gridLayoutTerminal = new GridLayout(rows, cols, 20, 60);
        TerminalPane panel = new TerminalPane("emprestimo-menu", emprestimosString,
                actionListener, keyListener, gridLayoutTerminal,
                ConstructMenusPanels.fonte);

        ArrayList<LabelButton> labelButtonList = new ArrayList<LabelButton>();

        labelButtonList.add(new LabelButton(creditoUmMinutoString, 1, 1));
        labelButtonList.add(new LabelButton(creditoPessoalString, 2, 1));
        labelButtonList.add(new LabelButton("", 3, 1,false));
        labelButtonList.add(new LabelButton("", 4, 1,false));
        labelButtonList.add(new LabelButton("", 1, 2,false));
        labelButtonList.add(new LabelButton("", 2, 2,false));
        labelButtonList.add(new LabelButton("", 3, 2,false));
        labelButtonList.add(new LabelButton("", 4, 2,false));

        panel.addLabelButtonList(labelButtonList);
        panel.setVisible(true);
        return panel;
    }
    
    public static JPanel constructPagamentoMenu() {
        int rows = 4, cols = 2;
        GridLayout gridLayoutTerminal = new GridLayout(rows, cols, 20, 60);
        TerminalPane panel = new TerminalPane("demonstrativos-menu",demonstrativosString,
                actionListener, keyListener, gridLayoutTerminal,
                ConstructMenusPanels.fonte);

        ArrayList<LabelButton> labelButtonList = new ArrayList<LabelButton>();

        labelButtonList.add(new LabelButton(codigoBarrasString, 1, 1));
        labelButtonList.add(new LabelButton(icmsString, 2, 1));
        labelButtonList.add(new LabelButton(gpsString, 3, 1));
        labelButtonList.add(new LabelButton(extratoString, 4, 1));
        labelButtonList.add(new LabelButton(comprovanteString, 1, 2));
        labelButtonList.add(new LabelButton("", 2, 2,false));
        labelButtonList.add(new LabelButton("", 3, 2,false));
        labelButtonList.add(new LabelButton("", 4, 2,false));

        panel.addLabelButtonList(labelButtonList);
        panel.setVisible(true);
        return panel;
    }

    public static JPanel constructSaqueMenu() {
        int rows = 3, cols = 2;
        GridLayout gridLayoutTerminal = new GridLayout(rows, cols, 20, 60);
        TerminalPane panel = new TerminalPane("saque-menu",demonstrativosString,
                actionListener, keyListener, gridLayoutTerminal,
                ConstructMenusPanels.fonte);

        ArrayList<LabelButton> labelButtonList = new ArrayList<LabelButton>();

        labelButtonList.add(new LabelButton(primeiroValorString, 1, 1));
        labelButtonList.add(new LabelButton(segundoValorString, 2, 1));
        labelButtonList.add(new LabelButton(terceiroValorString, 3, 1));
        labelButtonList.add(new LabelButton(quartoValorString, 1, 2));
        labelButtonList.add(new LabelButton(quintoValorString, 2, 2));
        labelButtonList.add(new LabelButton(outroValorString, 3, 2));

        panel.addLabelButtonList(labelButtonList);
        panel.setVisible(true);

        return panel;
    }

    public static JPanel constructCodigoBarrasMenu() {
        int rows = 3, cols = 2;
        GridLayout gridLayoutTerminal = new GridLayout(rows, cols, 20, 60);
        TerminalPane panel = new TerminalPane("codigo-barras-menu",demonstrativosString,
                actionListener, keyListener, gridLayoutTerminal,
                ConstructMenusPanels.fonte);

        ArrayList<LabelButton> labelButtonList = new ArrayList<LabelButton>();


        labelButtonList.add(new LabelButton(leituraString, 1, 1));
        labelButtonList.add(new LabelButton("", 2, 1, false));
        labelButtonList.add(new LabelButton("", 3, 1, false));
        labelButtonList.add(new LabelButton(digitacaoString, 1, 2));
        labelButtonList.add(new LabelButton("", 2, 2,false));
        labelButtonList.add(new LabelButton("", 3, 2,false));

        panel.addLabelButtonList(labelButtonList);
        panel.setVisible(true);

        return panel;
    }

    public static JPanel constructAgendaMenu() {
        int rows = 3, cols = 2;
        GridLayout gridLayoutTerminal = new GridLayout(rows, cols, 20, 60);
        TerminalPane panel = new TerminalPane("codigo-barras-menu",demonstrativosString,
                actionListener, keyListener, gridLayoutTerminal,
                ConstructMenusPanels.fonte);

        ArrayList<LabelButton> labelButtonList = new ArrayList<LabelButton>();

        //agendamento / extrato / Comprovantes / Exclusão
        /*
    String agendamentoString = "Agendamento",
           comprovantesString = "Comprovantes", exclusaoString = "Exclusão";
    */
        labelButtonList.add(new LabelButton(agendamentoString, 1, 1));
        labelButtonList.add(new LabelButton(extratoString, 2, 1));
        labelButtonList.add(new LabelButton(comprovantesString, 3, 1));
        labelButtonList.add(new LabelButton(exclusaoString, 1, 2));
        labelButtonList.add(new LabelButton("", 2, 2,false));
        labelButtonList.add(new LabelButton("", 3, 2,false));
        panel.addLabelButtonList(labelButtonList);
        panel.setVisible(true);

        return panel;
    }

}
